草庐IT

php - bool 和字符串条件

全部标签

Ruby 符号与字符串 - 来回切换会导致性能损失吗?

因此,虽然ruby​​String是全局唯一的,但ruby​​Symbol不是,因为它由id存储在后台某处:http://thoughtsincomputation.com/posts/ruby-symbols-what-are-they...这意味着使用符号使用更少的内存,假设您有一组指定的值,符号可以是(例如,您不想将用户输入的文本的每个字符串都变成一个符号)。我的问题是,虽然使用符号肯定有性能优势,但最终是否值得?我问是因为,例如,我使用符号编写大部分哈希:my_hash={:_id=>"123",:key=>"value"}但在ruby​​-mongo-driver中,所有键都

ruby-on-rails - Rails 3. 使用 Formtastic 有条件地显示字段

我正在使用ActiveAdmin和Formtastic。我有一张发票表格,其中包含发货下拉菜单。formdo|f|f.inputs"ShipmentDetails"dof.input:shipment_id,:label=>"Shipment",:as=>:select,:collection=>Shipment.find(invoiceless_shipments,:order=>"file_number",:select=>"id,file_number").map{|v|[v.file_number,v.id]}f.input:issued_at,:label=>"Date",:

Ruby 缩进多行字符串

这个问题在这里已经有了答案:HowdoIremoveleadingwhitespacecharsfromRubyHEREDOC?(11个答案)关闭6年前。这是一个最佳实践问题。有很明显的方法可以做到这一点,但似乎没有一个是完全正确的。我经常需要测试是否生成了一些多行字符串。这通常会破坏缩进,使一切看起来一团糟:classTestHelloWorld与我可以在此处缩进doc标记,但它不会去除heredoc中的缩进,它看起来仍然很糟糕。classTestHelloWorld这让我可以缩进,但测试行的可读性会受到影响。这gsub在这里真的感觉不对。classTestHelloWorld有什么

ruby-on-rails - Ruby Gem ActiveRecord 具有多个条件的查找方法

我正在使用三个数据库表构建一个Sinatra应用程序:user、post和like。我想运行一个查询来在like表中找到一个条目,如下所示:FINDinlikeWHEREuser_id==params[:user_id]ANDpost_id==params[:post_id](对于一种情况,我将使用:Like.find_by_user_id(params[:user_id]))我的问题是:如何使用ActiveRecordGem运行具有多个条件的查找查询? 最佳答案 使用where:Like.where('user_id=?ANDpo

ruby - 如何将 ruby​​ BigDecimal 转换为 2 位小数位字符串?

我想将RubyBigDecimal对象转换为漂亮的、可打印的货币值。所以我想让它打印到小数点后两位。我该怎么做?如您所见,以下方法均无效:irb(main):033:0>v=BigDecimal("7.1762")=>#irb(main):034:0>v.to_s('2F')=>"7.1762"irb(main):035:0>v.to_s('F')=>"7.1762"irb(main):036:0>v.to_s('%0.2F')=>"0.71762E1"irb(main):037:0>v.to_s('%0.2f')=>"0.71762E1"irb(main):038:0>哪个表达式只会

ruby-on-rails - 如何将字符串插入文本文件

我有一个配置文件,我想在其中添加一个字符串,例如像那样:line1line2line3line4新字符串不应该被追加,而是写在文件中间的某个地方。因此,我在文件中寻找特定位置(或字符串),找到后,我插入新字符串:file=File.open(path,"r+")while(!file.eof?)line=file.readlineif(line.downcase.starts_with?("line1"))file.write("Somenicelittlesentence")endend问题是Ruby用新文本覆盖了那个位置的行,所以结果如下:line1Somenicelittlese

ruby - 如何获取字符串中所有出现的模式的索引

string="JackandJillwentupthehilltofetchapailofwater.Jackfelldownandbrokehiscrown.AndJillcametumblingafter."d=string.match(/(jack|jill)/i)#->MatchData"Jill"1:"Jill"d.size#->1这只匹配它看起来第一次出现的地方。string.scan完成了部分工作,但它没有说明任何有关匹配模式索引的信息。如何获取模式的所有匹配实例及其索引(位置)的列表? 最佳答案 可以使用.scan

ruby - 将带空格的字符串转换为 URL

我正在使用ruby​​和googles反向地理编码yql表来理想地自动化我的一些搜索查询。我遇到的问题是将查询转换为合法的url格式。问题是我使用的编码返回非法url。我正在运行的查询如下query="select*fromgoogle.geocodingwhereq='40.714224,-73.961452'"pQuery=CGI::escape(query)处理后的查询的最终输出如下所示http://query.yahooapis.com/v1/public/yql?q=select+%2A+from+google.geocoding+where+q%3D%2740.371422

ruby - 将 Ruby 字符串转换为 *nix 文件名兼容字符串

在Ruby中,我有一个任意字符串,我想将其转换为有效的Unix/Linux文件名。它的最终形式看起来如何并不重要,只要它在视觉上可识别为它开始时的字符串即可。一些可能的例子:"Here'smystring!"=>"Heres_my_string""*isanasterisk,yousee"=>"is_an_asterisk_you_see"是否有任何内置的东西(可能在文件库中)可以完成这个(或接近这个)? 最佳答案 根据您的规范,您可以使用正则表达式替换来完成此操作。此正则表达式将匹配除基本字母和数字以外的所有字符:s/[^\w\s

ruby - 我如何在逻辑上或两个包括? ruby 的条件?

我刚开始学习Ruby,需要一些关于include的帮助吗?方法。下面的代码工作得很好:x='ab.c'ifx.include?"."puts'hello'elseputs'no'end但是当我这样编码时:x='ab.c'y='xyz'ifx.include?"."||y.include?"."puts'hello'elseputs'no'end如果在运行时出现错误:test.rb:3:syntaxerror,unexpectedtSTRING_BEG,expectingkeyword_thenor';'or'\n'ifx.include?"."||y.include?"."^test.